import os
from loguru import logger
from datetime import datetime


def my_logger():
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))  # 指向 selenium_frame/
    log_path = os.path.join(BASE_DIR, 'logs')  # selenium_frame/logs
    # 生成以当前日期命名的日志文件路径
    filename = f"{log_path}/log_{datetime.now().strftime('%Y-%m-%d')}.log"
    # 设置日志格式，包含时间、级别、文件名、模块名、行号、进程ID和消息内容
    format = "{time:YYYY-MM-DD HH:mm:ss.SSS} | {level} | {file} | {module}|{line}|{process}|{message}"
    # 配置日志记录器，将日志写入文件，每天轮换一次，保留7天，压缩为zip格式，编码为utf8
    logger.add(sink=filename, format=format, rotation="1d", retention="7d", level="DEBUG", compression="zip", encoding="utf8")
    return logger

# 创建日志记录器
logger = my_logger()


# 使用 logger
if __name__ == "__main__":
    logger.info("这是一条信息级别的日志")
    logger.warning("这是一条警告级别的日志")
    logger.error("这是一条错误级别的日志")